from struct import Struct


class Student:
    def __init__(self, name, score):  # 构造方法第一个参数必须为self self相当于java中的this
        self.name = name  # 实例属性
        self.score = score

    def say_score(self):  # 实例方法
        self.age = 18 # 实例属性
        print("{0}的分数是{1}".format(self.name, self.score))

    def say_age(self):
        pass

s1 = Student('张三', 80)  # s1是实例对象，自动调用__init__()方法
s1.say_score()
# 张三的分数是80

print(s1.name, s1.score,s1.age)
# 张三 80 18

s2 = Student('李四', 90)
s2.address = '北京' # 添加实例属性
# print(s2.name, s2.score,s2.age,s2.address) 这里会报错
s2.say_score()
print(s2.__dict__)
# {'name': '李四', 'score': 90, 'address': '北京', 'age': 18}
print(s2.name, s2.score,s2.age,s2.address)
# 李四 90 18 北京

Student('王五', 100).say_score()
# 王五的分数是100

Student('赵六', 100).say_age()
# {这里是空的，什么都不会打印}
